package com.nut.lmsc.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nut.lmsc.common.Result;
import com.nut.lmsc.entity.Category;

import java.io.Serializable;
import java.util.List;
import java.util.Set;

public interface CategoryService {

    /**
     * 列表查询
     * @param name     类目名称
     * @param status   状态 1开启 0关闭
     * @param pageNo
     * @param pageSize
     * @return
     */
    Result<IPage<Category>> listPage(String name, Integer status, Integer pageNo, Integer pageSize);

    Result<List<Category>> list();

    /**
     * 获取一级类目
     * @param pid
     * @return
     */
    Result<List<Category>> listByPid(Integer pid);

    /**
     * 获取树形结构
     * @param pid
     * @return
     */
    Result<List<Category>> getTree(Integer pid);

    Result<Category> getById(Serializable id);

    Result add(Category category);

    Result updateById(Category category);

    Result deleteByIds(Set<Integer> ids);

    //导入类目数据
    void importData();
}